[Identification]
    OptionType = MONITOR
[Options]
"WinFax Port" = wfxmon
[Identify]
    read-syms Identification
    set Status     = STATUS_SUCCESSFUL
    set Identifier = $(OptionType)
    set Media      = #("Source Media Descriptions", 1, 1)
    Return $(Status) $(Identifier) $(Media)
[ReturnOptions]
    set Status        = STATUS_FAILED
    set OptionList     = {}
    set OptionTextList = {}
    set LanguageList = ^(LanguagesSupported, 1)
    Ifcontains(i) $($0) in $(LanguageList)
        goto returnoptions
    else
        set Status = STATUS_NOLANGUAGE
        goto finish_ReturnOptions
    endif
returnoptions = +
    set OptionList     = ^(Options, 0)
    set OptionTextList = ^(OptionsText$($0), 1)
    set Status         = STATUS_SUCCESSFUL
finish_ReturnOptions = +
    Return $(Status) $(OptionList) $(OptionTextList)
[InstallOption]
    set Status   = STATUS_FAILED
    set Option   = $($1)
    set SrcDir   = $($2)
    set AddCopy  = $($3)
    set DoCopy   = $($4)
    set DoConfig = $($5)
    set LanguageList = ^(LanguagesSupported, 1)
    Ifcontains(i) $($0) in $(LanguageList)
    else
        set Status = STATUS_NOLANGUAGE
        goto finish_InstallOption
    endif
    read-syms Strings$($0)
    set OptionList = ^(Options, 0)
    ifcontains $(Option) in $(OptionList)
    else
        goto finish_InstallOption
    endif
    set OptionList = ""
    set MonitorOption = #(Options, $(Option), 1)
installtheoption = +
    ifstr(i) $(AddCopy) == "YES"
        install Install-AddCopyOption
        ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
            Debug-Output "Adding video files to copy list failed"
            goto finish_InstallOption
        endif
    endif
    ifstr(i) $(DoCopy) == "YES"
        read-syms ProgressCopy$($0)
        install Install-DoCopyOption
        ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
            Debug-Output "Copying files failed"
            goto finish_InstallOption
        else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
            set Status = STATUS_USERCANCEL
            goto finish_InstallOption
        endif
    endif
    ifstr(i) $(DoConfig) == "YES"
        set MonitorPath      = $(!STF_PRNMONITORPATH)"\"#(Files-PrinterMonitor, $(MonitorOption), 2)
        LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(MonitorPath)
        ifstr(i) $(STATUS) == NO
            set OptionText = #(OptionsText$($0), $(Option), 1)
            shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String4)$(OptionText)$(String5)
            Debug-Output "Copying printer files failed"
            goto finish_InstallOption
        endif
        install Install-Configure
        ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
            Debug-Output "Installing printer monitor failed"
            goto finish_InstallOption
        else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
            set Status = STATUS_USERCANCEL
            goto finish_InstallOption
        endif
        ifstr(i) $(STATUS) != "ADDED"
            set OptionText = #(OptionsText$($0), $(Option), 1)
            ifstr(i) $(STATUS) == "PRESENT"
                shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String1)$(OptionText)$(String2)
                set Status = STATUS_SUCCESSFUL
            else-ifstr(i) $(STATUS) == "DENIED"
                shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String6)
            else
                shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String1)$(OptionText)$(String7)
            endif
            goto finish_InstallOption
        endif
    endif
    set Status = STATUS_SUCCESSFUL
finish_InstallOption = +
    Return $(Status)
[Install-AddCopyOption]
    set STF_VITAL = ""
    set STF_OVERWRITE   = "VERIFYSOURCEOLDER"
    AddSectionKeyFileToCopyList   Files-PrinterMonitor          +
                                  $(MonitorOption)              +
                                  $(SrcDir)                    +
                                  $(!STF_PRNMONITORPATH)
    set KeyList = ^( PrinterMonitorsWithHelp, 1 )
    ifcontains(i) $(MonitorOption) in $(KeyList)
        AddSectionKeyFileToCopyList   Files-PrinterMonitorHelp      +
                                      $(MonitorOption)              +
                                      $(SrcDir)                    +
                                      $(!STF_PRNMONITORPATH)
    endif
    exit
[Install-DoCopyOption]
    CopyFilesInCopyList
    exit
[Install-Configure]
    set Model       = $(Option)
    set Monitor      = #(Files-PrinterMonitor, $(MonitorOption), 2)
    LibraryProcedure STATUS,$(!LIBHANDLE), SetupAddPrinterMonitor   +
                                               $(Model)            +
                                               $(!STF_PRNENVIRONM) +
                                               $(Monitor)           +
                                               $(!STF_PRINTSERVER)
    exit
[ExternalInstallOption]
    Set !G:DebugOutputControl = 0
    set Exit_Code    = $(!SETUP_ERROR_GENERAL)
    set DrivesToFree = {}
    install LoadSetupLibrary
    ifstr(i)      $(STF_LANGUAGE)  == ""
        goto end
    else-ifstr(i) $(OPTION)        == ""
        goto end
    else-ifstr(i) $(ADDCOPY)       == ""
        goto end
    else-ifstr(i) $(DOCOPY)        == ""
        goto end
    else-ifstr(i) $(DOCONFIG)      == ""
        goto end
    endif
    read-syms PlatformID
    read-syms ProductType
    ifstr(i) $(STF_PLATFORM) == $(PlatformID_I386)
        set STF_PRNPLATFORM = "w32x86"
        set STF_PRNENVIRONM = "Windows NT x86"
    else-ifstr(i) $(STF_PLATFORM) == $(PlatformID_Mips)
        set STF_PRNPLATFORM = "w32mips"
        set STF_PRNENVIRONM = "Windows NT R4000"
    else-ifstr(i) $(STF_PLATFORM) == $(PlatformID_PPC)
        set STF_PRNPLATFORM = "w32ppc"
        set STF_PRNENVIRONM = "Windows NT PowerPC"
    else-ifstr(i) $(STF_PLATFORM) == $(PlatformID_Alpha)
        set STF_PRNPLATFORM = "w32alpha"
        set STF_PRNENVIRONM = "Windows NT Alpha_AXP"
    else
        goto end
    endif
    read-syms UiVars
    detect    UiVars
    read-syms Strings$(STF_LANGUAGE)
    ifstr(i) $(STF_SRCDIR) != $(STF_CWDDIR)
        goto skip_asksource
    endif
    set STF_SRCDIR = A:\
    shell "registry.inf" GetNTSource
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
    else-ifstr(i) $($R0) != STATUS_SUCCESSFUL
    else
        set STF_SRCDIR = $($R1)
    endif

    shell "subroutn.inf" DoAskSource $(STF_SRCDIR)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "shelling DoAskSource failed"
        goto end
    endif
    ifstr(i) $($R0) == STATUS_SUCCESSFUL
        set STF_SRCDIR  = $($R1)
        ifstr(i) $($R2) != ""
            set DrivesToFree = >($(DrivesToFree), $($R2))
        endif
    else
        goto end
    endif
skip_asksource = +
    LibraryProcedure IsFullPath, $(!LIBHANDLE), CheckPathFullPathSpec $(STF_PRNMONITORPATH)
    ifstr(i) $(IsFullPath) == "NO"
        LibraryProcedure STATUS, $(!LIBHANDLE), ProcessForUNC $(STF_PRNMONITORPATH)
        ifstr(i) $(STATUS) == "ERROR"
            shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3)
            goto end
        else-ifstr(i) $(STATUS) == "NOT-UNC"
            shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3)
            goto end
        else-ifstr(i) $(STATUS) == "UNC-FAILCONNECT"
            shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3)
            goto end
        else
            set STF_PRNMONITORPATH = $(STATUS)
        endif
    endif
    shell "" InstallOption $(STF_LANGUAGE) $(OPTION) $(STF_SRCDIR) $(ADDCOPY) $(DOCOPY) $(DOCONFIG)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "Execing InstallOption failed"
        goto end
    endif
    ifstr(i) $($R0) == STATUS_SUCCESSFUL
        set Exit_Code = $(!SETUP_ERROR_SUCCESS)
    else-ifstr(i) $($R0) == STATUS_USERCANCEL
        set Exit_Code = $(!SETUP_ERROR_USERCANCEL)
    endif
end =+
    ForListDo $(DrivesToFree)
        LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
    EndForListDo
    install   FreeSetupLibrary
    exit
[LoadSetupLibrary]
    LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE
    exit
[FreeSetupLibrary]
    FreeLibrary $(!LIBHANDLE)
    exit
[PlatformID]
    PlatformID_PPC = ppc
    PlatformID_I386 = I386
    PlatformID_Mips = Mips
    PlatformID_Alpha  = Alpha
[UiVars]
    STF_CONTROLSET     = CurrentControlSet
    STF_WINDOWSPATH    = "" ? $(!LIBHANDLE) GetWindowsNtDir
    STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
     STF_PRNMONITORPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
[PrinterMonitorsWithHelp]
[Source Media Descriptions]
    1 = "WinFax NT CD-ROM" , TAGFILE = WFXMNT40.DLL
[Signature]
    FileType = MICROSOFT_FILE
[GetSignature]
    read-syms Signature
    return $(FileType)
[ProductType]
STF_PRODUCT  = Winnt
STF_PLATFORM = I386
[Files-PrinterMonitor]
wfxmon = 1,WFXMNT40.DLL , SIZE=999
[Files-PrinterMonitorHelp]
[LanguagesSupported]
    ENG
[OptionsTextENG]
"WinFax Port" = "WinFax Port"
[StringsENG]
    String1 = "The monitor "
    String2 = " is already installed."
    String3 = "Failed to connect to the print server."
    String4 = "The monitor files for the selected monitor "
    String5 = " couldn't be copied.  Failed to install the monitor."
    String6 = "Access is denied. You must be logged on as a member of the Administrators "+
              "group to carry out this operation."
    String7 = " could not be installed."
[ProgressCopyENG]
    ProCaption   = "Windows NT Setup"
    ProCancel    = "Cancel"
    ProCancelMsg = "Windows NT is not correctly installed.  Are you sure you want "+
                   "to cancel copying files?"
    ProCancelCap = "Setup Message"
    ProText1     = "Copying:"
    ProText2     = "To:"
